package com.xbongbong.pro.rabbitmq.binders;

import com.xbongbong.pro.rabbitmq.constant.SystemBinderConstant;
import org.springframework.cloud.stream.annotation.Input;
import org.springframework.cloud.stream.annotation.Output;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.SubscribableChannel;
import org.springframework.stereotype.Service;

/**
 * 系统消息队列
 * @author 魏荣杰
 * @date 2019/3/1 13:59
 * @since v1.0
 * @version v1.0
 */
@Service("systemConsumerBinder")
public interface SystemConsumerBinder {
    /**
     * 新签
     */
    @Input(SystemBinderConstant.NEW_SIGNATURE_INPUT)
    SubscribableChannel newSignatureInput();
//    @Output(SystemBinderConstant.NEW_SIGNATURE_OUTPUT)
//    MessageChannel newSignatureOutput();
    /**
     * 问卷
     */
    @Input(SystemBinderConstant.QUESTIONNAIRE_INPUT)
    SubscribableChannel questionnaireInput();
//    @Output(SystemBinderConstant.QUESTIONNAIRE_OUTPUT)
//    MessageChannel questionnaireOutput();
    /**
     * 续费
     */
    @Input(SystemBinderConstant.RENEW_INPUT)
    SubscribableChannel renewInput();
//    @Output(SystemBinderConstant.RENEW_OUTPUT)
//    MessageChannel renewOutput();
    /**
     * 活动运营
     */
    @Input(SystemBinderConstant.ACTIVITY_OPERATION_INPUT)
    SubscribableChannel activityOperationInput();
//    @Output(SystemBinderConstant.ACTIVITY_OPERATION_OUTPUT)
//    MessageChannel activityOperationOutput();
    /**
     * 邀请员工
     */
    @Input(SystemBinderConstant.INVITE_STAFF_INPUT)
    SubscribableChannel inviteStaffInput();
//    @Output(SystemBinderConstant.INVITE_STAFF_OUTPUT)
//    MessageChannel inviteStaffOutput();
}
